package com.edu.mapper;

import com.edu.bean.Book;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author:何包蛋
 * @Date :2022/10/3 - 10 - 03 - 14:12
 */
public interface BookMapper {

    /**
     *添加书本
     *@author: 何包蛋
     *@modify:
     *@date: 2022/10/3 14:22
     *@param: [book]
     *@return: int
     */
    int insertBook(@Param("book") Book book);
    /**
     *通过id删除
     *@author: 何包蛋
     *@modify:
     *@date: 2022/10/3 14:42
     *@param: [bookId]
     *@return: int
     */
    int deleteBook(@Param("bookId") int bookId);
    /**
     *修改价格
     *@author: 何包蛋
     *@modify:
     *@date: 2022/10/3 14:47
     *@param: [bookId, bookPrice]
     *@return: int
     */
    int updateBookPrice(@Param("bookId") int bookId,@Param("bookPrice") double bookPrice);
    /**
     *通过书本类型查找有关的书本
     *@author: 何包蛋
     *@modify:
     *@date: 2022/10/3 14:52
     *@param: [bookType]
     *@return: java.util.List<com.edu.bean.Book>
     */
    List<Book> selectBookByType(@Param("bookType") String bookType);

    /**
     *通过书本的名字和作者查询书本信息（书名和作者要求放入到book对象中）
     *@author: 何包蛋
     *@modify:
     *@date: 2022/10/3 15:02
     *@param: [book]
     *@return: com.edu.bean.Book
     */
    Book selectBook(@Param("book") Book book);

    /**
     *根据书本的价格范围（最低价格 最高价格）查询书本信息
     *@author: 何包蛋
     *@modify:
     *@date: 2022/10/3 15:09
     *@param: [minPrice, maxPrice]
     *@return: java.util.List<com.edu.bean.Book>
     */
    List<Book> selectBookByPrice(@Param("minPrice") double minPrice,@Param("maxPrice") double maxPrice);

    /**
     *查找某种类型，某价格范围的书本信息
     *@author: 何包蛋
     *@modify:
     *@date: 2022/10/3 15:16
     *@param: [type, minPrice, maxPrice]
     *@return: java.util.List<com.edu.bean.Book>
     */
    List<Book> selectBooks(@Param("bookType") String type,@Param("minPrice") double minPrice,@Param("maxPrice") double maxPrice);

}

